import { DataTypes } from 'sequelize';
import { Migration } from '../umzug';

/**
 * 问卷表
 * @param param0 questionnaires
 */
export const up: Migration = async ({ context: sequelize }) => {
  await sequelize.getQueryInterface().createTable('questionnaires', {
    id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
    uuid: { type: DataTypes.STRING(36), unique: true },
    open: { type: DataTypes.INTEGER }, // 是否开启隐藏选项
    name: { type: DataTypes.STRING(100) },
    fk_template: {
      type: DataTypes.INTEGER,
      references: {
        model: {
          tableName: 'templates',
        },
        key: 'id',
      },
    },
    /** 名字 */
    user_name_visible: { type: DataTypes.INTEGER },
    /** 工号 */
    user_num_visible: { type: DataTypes.INTEGER },
    /** 工作单位 */
    work_unit_visible: { type: DataTypes.INTEGER },
    /** 附属单位 */
    affiliated_visible: { type: DataTypes.INTEGER },
    /** 工作职位 */
    job_position_visible: { type: DataTypes.INTEGER },
    /** 工作岗位 */
    operating_post_visible: { type: DataTypes.INTEGER },
    created_at: { type: DataTypes.DATE },
    updated_at: { type: DataTypes.DATE },
  });
};

export const down: Migration = async ({ context: sequelize }) => {
  await sequelize.getQueryInterface().dropTable('questionnaires');
};
